package com.leetcode.algorithm.y22.m06;

import com.leetcode.algorithm.common.ListNode;

/**
 * 206. 反转链表
 * 
 * https://leetcode.cn/problems/reverse-linked-list/
 * 
 * @author jie.deng
 *
 */
class Question0206Solution02 {

	public ListNode reverseList(ListNode head) {
		if (head == null || head.next == null) {
			return head;
		}
		ListNode listNode = reverseList(head.next);
		// 执行上一步递归调用后 head.next 为最后一个节点，将head加入最后一个的next即可。
		head.next.next = head;
		head.next = null; // head.next = null避免循环列表
		return listNode;
	}

}